
#pragma once

#include <winsock2.h>

#include "raw_socket.h"
#include "inetaddr.h"
#include "sockexcept.h"

namespace sock {

	class ClientSocket : public RawSocket {
	public:
		// constructors.
		explicit ClientSocket( const RawSocket &other );
		ClientSocket( const ClientSocket &other );
		explicit ClientSocket( const InetAddr & addr );
		ClientSocket(){}

		// member-functions.
		

	private:
		void bind( const InetAddr & addr );
		void listen( int maxconn );
		RawSocket accept();
	};

}
